package UnOfficeDeTourisme;

/**
 * Interface definition : Carte
 * 
 * @author OpenORB Compiler
 */
public interface CarteOperations
{
    /**
     * Read accessor for idCarte attribute
     * @return the attribute value
     */
    public int idCarte();

    /**
     * Read accessor for dateValidite attribute
     * @return the attribute value
     */
    public UnOfficeDeTourisme.datecut dateValidite();

    /**
     * Read accessor for listeDesEntrees attribute
     * @return the attribute value
     */
    public UnOfficeDeTourisme.Entree[] listeDesEntrees();

    /**
     * Operation getEntrees
     */
    public UnOfficeDeTourisme.Entree[] getEntrees(int idVisite)
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation getAllEntrees
     */
    public UnOfficeDeTourisme.Entree[] getAllEntrees()
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation ajouterEntree
     */
    public void ajouterEntree(UnOfficeDeTourisme.genericEntry[] hmIdEntree)
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation ajouterPresta
     */
    public void ajouterPresta(UnOfficeDeTourisme.Prestation presta);

    /**
     * Operation calculerPrixTotalAPayer
     */
    public float calculerPrixTotalAPayer()
        throws UnOfficeDeTourisme.MontantNegatifException;

    /**
     * Operation dejaVisite
     */
    public boolean dejaVisite(UnOfficeDeTourisme.Visite v);

}
